package lsl.Git.本地仓库;

public class C04分支及其命令 {
}
/*
        分支:
            几乎所有的版本控制系统都已某种形式支持分支,使用分支意味着你可以把你的工作从开发主线上分离开来进行
                /重大Bug修改,开发新的功能,以免影响开发主线
                /我们前面的所有操作都早本地操作的,这不能体现多人协作的情况
                    /我们希望每个人有自己独立的线,个人改个人的互不影响
                    /开发完之后我们再把所有线合在一起(合并)


        分支长什么样子:
            使用git-log我们看日志的时候
            $ git-log
            * ef38e16 (HEAD -> master) 第二次提交
            * f9dbaea add file01
                /master就是一个分支
                /Head就是指向当前的分支
                /如果两个分支的状态一样的话,他就会并列的显示



        常见的分支命令:
            1.查看本地分支:
                命令:
                    /git branch

            2.创建本地分支:
                命令:
                    /git branch 分支名


            3.切换分支(checkout):
                /我们只有操作一个分支,这个分支就叫当前分支,否则你又操作A有操作B的非常混乱的
                    /我们的工作区只能为一个分支服务的
                    /在切换分支,之前我们把.gitignore这个文件也给Git提交过去管理
                     git add .
                     git commit -m 'add ignore file'

                命令:
                    /git checkout 分支名
                    注意:
                        /我们可以直接切换一个不存在的分支(创建并切换)
                        命令:
                            /git checkout -b 分支名
                        实战:
                            创建分支:
                                git branch dev01
                            再次查看分支:
                                git branch
                            查看分支状态:
                                git-log即可
                                    显示:
                                    $ git-log
                                    * ef38e16 (HEAD -> master, dev01) 第二次提交
                                    * f9dbaea add file01
                                        /表示现在有两个分支,每个分支上有两个提交
                                           /等于说在两次提交的基础上再拉一个分支出来
                                    /执行完提交gitignore之后我们在查看分支的状态
                                    $ git-log
                                    * 8c48ba9 (HEAD -> master) add ignore file
                                    * ef38e16 (dev01) 第二次提交
                                    * f9dbaea add file01




           4.合并分支(merge):
                /我们现在在01分支上创建了一个文件,但是在02分支上我们提交了.gitignore文件
                    /这时你在查看文件的时候,你就会出现了明细的分支
                    $ git-log
                    * 334f41d (HEAD -> dev01) file02提交了
                    | * 8c48ba9 (master, dev02) add ignore file
                    |/
                    * ef38e16 第二次提交
                    * f9dbaea add file01
                        //你会发现有分支是竖着的,有不同的操作的分支,单独分出去了
                        //现在就是模拟的,两个人在原有系统的基础上开发的不同的功能
                        //现在要放在一起了

                    命令:
                       /git merge 分支名
                    作用:
                        /一个分支上的提交可以合并到另一个分支上
                        实战:
                            /我们一般都是把其他的分支合并到master上的,约定来的
                            /git merge dev01
                                /这个就表示我要把dev01上的操作全部合并到我的master上去
                                /执行完之后会进入一个vim编辑器,你直接wq保存退出就行了,这个就相当于说你成功了
                                $ git-log
                                *   5dea062 (HEAD -> master) Merge branch 'dev01'
                                |\
                                | * 334f41d (dev01) file02提交了
                                * | 8c48ba9 (dev02) add ignore file
                                |/
                                * ef38e16 第二次提交
                                * f9db


           5.删除分支:
                /不能删除当前分支,只能删除其他分支
                命令:
                    /git branch -d b1
                    注意:
                        /删除分支时,需要做各种检查
                        /有时你删除不掉,直接-D这个就是强制删除了
 */
